#ifndef ARM_TASK_H
#define ARM_TASK_H

#include "stdint.h"

typedef enum
{
J4310_Position,
J4310_Speed,
J8009_Position,
J8009_Speed,
}Arm_Pid_Para_Name;



typedef struct
{
uint8_t Mode;
uint8_t Last_Mode;
uint8_t Pump;

struct 
{
float S[3];
float B[3];
}Target;
struct 
{
float S[3];
float B[3];
}Controller;

struct 
{
float S[3][2];
float B[3][2];
}Limit;

struct
{
float S[3];
float B[3];	
}Midangle;

struct 
{
float S[3];
float B[3];
}Torque;

struct 
{
uint8_t S[3][8];
uint8_t B[3][8];
  /* data */
}Send;
struct 
{
struct {
uint8_t head;
uint8_t Stste;
uint16_t Data[6];
uint8_t Verify;
uint8_t Tx_Data[15];
}Send;
struct {
uint8_t head;
uint8_t Stste;
uint16_t Data[6];
uint8_t Verify;
uint8_t Tx_Data[15];
}Receive;
  /* data */
}Comm;


    /* data */
}Arm_Info_typedef;

extern Arm_Info_typedef Arm_Info;
extern void Customer_Controller_Data_Update(uint8_t *data,uint16_t Size);

#endif //CONTROL_TASK_H
